home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / mflms101.arc / MFLCONIO.H < prev    next >
C/C++ Source or Header  |  1989-11-25  |  11KB  |  336 lines

  1. /************************************************************************/
  2. /*                                                                      */
  3. /*  MFLCONIO Header file                                                */
  4. /*                                                                      */
  5. /*  Defines and function prototypes for console I/O.                    */
  6. /*                                                                      */
  7. /*  Copyright 1989 by Robert B. Stout dba MicroFirm                     */
  8. /*  All rights reserved                                                 */
  9. /*                                                                      */
  10. /*  Copyright 1986, 1987 by S.E. Margison                               */
  11. /*                                                                      */
  12. /*  Compiled by QC 2.0 for use with MSC 5.1 or QC 2.0 or later.         */
  13. /*                                                                      */
  14. /************************************************************************/
  15.  
  16. #ifndef MFLCONIO_H
  17. #define MFLCONIO_H
  18.  
  19. #include <stdio.h>
  20. #include <mfldefs.h>
  21.  
  22. /************************************************************************/
  23. /*                                                                      */
  24. /*  Screen definitions                                                  */
  25. /*                                                                      */
  26. /************************************************************************/
  27.  
  28. #define BW40 0   /* b&w 40 x 25 screen */
  29. #define CLR40 1  /* color 40 x 25 screen */
  30. #define BW80 2   /* b&w 80 x 25 screen */
  31. #define CLR80 3  /* color 80 x 25 screen */
  32. #define CG320 4  /* color graphics, 320 x 200 */
  33. #define BW320 5  /* b&w graphics, 320 x 200 */
  34. #define BW640 6  /* b&w graphics, 640 x 200 */
  35. #define MONO 7   /* 80 x 25 b&w using Monochrome card */
  36.  
  37. /* video attributes */
  38.  
  39. #define BLINKING 0x87
  40. #define REVERSE 0x70
  41. #define REVBLINK 0xf0
  42. #define NORMAL 0x07
  43. #define HIGHLITE 0x0f
  44. #define HIGHBLINK 0x8f
  45. #define BLINKBIT 0x80   /* OR in to cause blink */
  46. #define HILTBIT 0x08    /* OR in to cause highlight */
  47.  
  48. /*
  49. ** colors -- Use as is for foreground colors
  50. **           For background, shift left by 4 and OR with
  51. **           foreground and possible video attributes
  52. */
  53.  
  54. #define BLACK 0
  55. #define BLUE 1
  56. #define GREEN 2
  57. #define CYAN 3
  58. #define RED 4
  59. #define MAGENTA 5
  60. #define BROWN 6
  61. #define WHITE 7
  62. #define GRAY 8
  63. #define LTBLUE 9
  64. #define LTGREEN 10
  65. #define LTCYAN 11
  66. #define LTRED 12
  67. #define LTMAGENTA 13
  68. #define YELLOW 14
  69. #define HIWHITE 15    /* hi-intensity white */
  70.  
  71. /************************************************************************/
  72. /*                                                                      */
  73. /*  Keyboard definitions                                                */
  74. /*                                                                      */
  75. /************************************************************************/
  76.  
  77. #define ESC 0x1b
  78. #define BACKSP 0x08
  79. #define HTAB 0x09
  80.  
  81. #define FKLEAD 0   /* if key = 0, read next byte as function key */
  82. #define FK1 59
  83. #define FK2 60
  84. #define FK3 61
  85. #define FK4 62
  86. #define FK5 63
  87. #define FK6 64
  88. #define FK7 65
  89. #define FK8 66
  90. #define FK9 67
  91. #define FK10 68
  92.  
  93. #define SFK1 84  /* shifted function key */
  94. #define SFK2 85
  95. #define SFK3 86
  96. #define SFK4 87
  97. #define SFK5 88
  98. #define SFK6 89
  99. #define SFK7 90
  100. #define SFK8 91
  101. #define SFK9 92
  102. #define SFK10 93
  103.  
  104. #define CFK1 94  /* control function key */
  105. #define CFK2 95
  106. #define CFK3 96
  107. #define CFK4 97
  108. #define CFK5 98
  109. #define CFK6 99
  110. #define CFK7 100
  111. #define CFK8 101
  112. #define CFK9 102
  113. #define CFK10 103
  114.  
  115. #define AFK1 104  /* alt function keys */
  116. #define AFK2 105
  117. #define AFK3 106
  118. #define AFK4 107
  119. #define AFK5 108
  120. #define AFK6 109
  121. #define AFK7 110
  122. #define AFK8 111
  123. #define AFK9 112
  124. #define AFK10 113
  125.  
  126. #define DELKEY 83       /* an alternate function key */
  127. #define HOME 71         /* HOME key */
  128. #define CURLEFT 75      /* <- */
  129. #define ENDKEY 79       /* END key */
  130. #define CURUP 72        /* up arrow */
  131. #define CURDN 80        /* down arrow */
  132. #define PGUP 73         /* PgUp */
  133. #define CURRIGHT 77     /* -> */
  134. #define PGDN 81         /* PgDn */
  135. #define INSERT 82       /* Ins */
  136. #define CTRLHOME 119    /* Ctrl Home */
  137. #define CTRLCURLF 115   /* Ctrl <- */
  138. #define CTRLEND 117     /* Ctrl End */
  139. #define CTRLPRTSC 114   /* Ctrl PrtSc */
  140. #define CTRLPGUP 132    /* Ctrl PgUp */
  141. #define CTRLCURRT 116   /* Ctrl -> */
  142. #define CTRLPGDN 118    /* Ctrl PgDn */
  143. #define BKTAB 15        /* Shift Tab */
  144. #define ALTMINUS 130    /* Alt - */
  145. #define ALTEQUAL 131    /* Alt = */
  146.  
  147. /************************************************************************/
  148. /*                                                                      */
  149. /*  Graphic definitions                                                 */
  150. /*                                                                      */
  151. /************************************************************************/
  152.  
  153. /* Single Line Box Drawing Characters */
  154. #define SHLINE 196
  155. #define SVLINE 179
  156. #define SUL 218
  157. #define SUR 191
  158. #define SCROSS 197
  159. #define SLL 192
  160. #define SLR 217
  161. #define STOPT 194
  162. #define SLT 195
  163. #define SRT 180
  164. #define SBOTT 193
  165.  
  166. /* Double Line Box Drawing Characters */
  167. #define DHLINE 205
  168. #define DVLINE 186
  169. #define DUL 201
  170. #define DUR 187
  171. #define DCROSS 206
  172. #define DLL 200
  173. #define DLR 188
  174. #define DTOPT 203
  175. #define DLT 204
  176. #define DRT 185
  177. #define DBOTT 202
  178.  
  179. /* Single Vertical with Double Horizontal */
  180. #define SDUL 213
  181. #define SDUR 184
  182. #define SDTOPT 209
  183. #define SDBOTT 207
  184. #define SDCROSS 216
  185. #define SDLT 198
  186. #define SDRT 181
  187. #define SDLL 212
  188. #define SDLR 190
  189.  
  190. /* Double Vertical with Single Horizontal */
  191. #define DSUL 214
  192. #define DSUR 183
  193. #define DSTOPT 210
  194. #define DSBOTT 208
  195. #define DSCROSS 215
  196. #define DSLT 199
  197. #define DSRT 182
  198. #define DSLL 211
  199. #define DSLR 189
  200.  
  201. #ifndef _Cdecl_
  202.  #ifdef NO_EXT_KEYS
  203.   #define _Cdecl_
  204.  #else
  205.   #define _Cdecl_ cdecl
  206.  #endif
  207. #endif
  208.  
  209. /************************************************************************/
  210. /*                                                                      */
  211. /*   Function to translate video attribute to ANSI.SYS command string.  */
  212. /*                                                                      */
  213. /************************************************************************/
  214.  
  215. char  * _Cdecl_ make_ansi(int);
  216. void    _Cdecl_ Bputs(char *);
  217.  
  218. /************************************************************************/
  219. /*                                                                      */
  220. /*   Direct video package                                               */
  221. /*                                                                      */
  222. /************************************************************************/
  223.  
  224. void    _Cdecl_ dvid_init(void),
  225.         _Cdecl_ dvid_bios(void),
  226.         _Cdecl_ dvid_sync(int),
  227.         _Cdecl_ dvid_raw(int),
  228.         _Cdecl_ dvid_done(void),
  229.         _Cdecl_ dvid_putchr(char),
  230.         _Cdecl_ dvid_putstr(char *),
  231.         _Cdecl_ dvid_scroll(int, int, int, int, int, int),
  232.         _Cdecl_ dvid_move(int, int),
  233.         _Cdecl_ dvid_setcount(int),
  234.         _Cdecl_ dvid_flush(void),
  235.         _Cdecl_ dvid_e2eol(void),
  236.         _Cdecl_ dvid_e2eos(void),
  237.         _Cdecl_ dvid_attrib(int),
  238.         _Cdecl_ dvid_setpage(int, int),
  239.         _Cdecl_ dvid_chgattrib(int, int, int, int, int),
  240.         _Cdecl_ dvid_cls(void),
  241.         _Cdecl_ dvid_clrfield(int, int, int),
  242.         _Cdecl_ dvid_say(int, int, char *),
  243.         _Cdecl_ dvid_sayr(int, int, char *),
  244.         _Cdecl_ dvid_enterfn(char *, int, int, int, int),
  245.         _Cdecl_ dvid_char_at(int, int, char),
  246.         _Cdecl_ dvid_char_atr(int, int, char),
  247.         _Cdecl_ dvid_putsa(char *, int);
  248.  
  249. int     _Cdecl_ dvid_printf(char *, ...),
  250.         _Cdecl_ dvid_printfa(int, char *, ...),
  251.         _Cdecl_ dvid_getchr(int, int),
  252.         _Cdecl_ dvid_enterdata(char *, int, int, int, int),
  253.         _Cdecl_ dvid_getattr(void),
  254.         _Cdecl_ dvid_getraw(void);
  255.  
  256. /************************************************************************/
  257. /*                                                                      */
  258. /*   Keyboard functions                                                 */
  259. /*                                                                      */
  260. /************************************************************************/
  261.  
  262. void    _Cdecl_ setcaps(void),
  263.         _Cdecl_ clrcaps(void),
  264.         _Cdecl_ setnumlock(void),
  265.         _Cdecl_ clrnumlock(void);
  266.  
  267. int     _Cdecl_ getkey(void),
  268.         _Cdecl_ kbstatus(int),
  269.         _Cdecl_ _kbstate(void);
  270.  
  271. /************************************************************************/
  272. /*                                                                      */
  273. /*   Data entry functions functions                                     */
  274. /*                                                                      */
  275. /************************************************************************/
  276.  
  277. void    _Cdecl_ enterfn(char *, int, int, int, int);
  278. int     _Cdecl_ enterdata(char *, int, int, int, int);
  279.  
  280. /************************************************************************/
  281. /*                                                                      */
  282. /*   Console control and information functions                          */
  283. /*                                                                      */
  284. /************************************************************************/
  285.  
  286. #define SCR_UP 6
  287. #define SCR_DN 7
  288.  
  289. void    _Cdecl_ viscroll(int, int, int, int, int, int, int),
  290.         _Cdecl_ vidpage(int),
  291.         _Cdecl_ vid_border(int),
  292.         _Cdecl_ vid_palette(int),
  293.         _Cdecl_ cursor_style(int, int, int),
  294.         _Cdecl_ vmode(int);
  295.  
  296. struct v_info__ {
  297.         int             rows,
  298.                         cols,
  299.                         mode,
  300.                         page;
  301.         unsigned        scrnseg;
  302.         unsigned far   *screen;
  303.         LOGICAL         desqview;
  304.         } ;
  305.  
  306. extern struct v_info__ v_info_;
  307.  
  308. void    _Cdecl_ v_init(void);
  309.  
  310. int     _Cdecl_ iscons(FILE *),
  311.         _Cdecl_ _stuff(void),
  312.         _Cdecl_ stuff(int);
  313.  
  314. unsigned int    _Cdecl_ getpos(int);
  315.  
  316. /************************************************************************/
  317. /*                                                                      */
  318. /*   Miscellaneous video functions                                      */
  319. /*                                                                      */
  320. /************************************************************************/
  321.  
  322. void    _Cdecl_ error(char *),
  323.         _Cdecl_ cls(void),
  324.         _Cdecl_ clrfield(int, int, int, int),
  325.         _Cdecl_ d_cls(void),
  326.         _Cdecl_ d_pos(int, int, int),
  327.         _Cdecl_ d_say(int, int, char *),
  328.         _Cdecl_ d_saypag(int, int, char *, int),
  329.         _Cdecl_ mkbox(int, int, int, int, int),
  330.         _Cdecl_ vid_wrpix(int, int, int),
  331.         _Cdecl_ copyright(void);
  332.  
  333. int     _Cdecl_ vid_rdpix(int, int);
  334.  
  335. #endif /* MFLCONIO_H */
  336.